package view;

import java.awt.Component;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import controller.Controller;
import controller.LieferungenController;

public class MainPanel extends JPanel {
	Controller controller;

	public MainPanel(Controller controller) {
		this.controller = controller;
	}

	public void oeffneGesLieferung() {
		controller.getTreePanelController().listenerAbmelden();
		controller.getTreePanelController().getTreePanel().clearSelTree();
		controller.getTreePanelController().listenerAnmelden();
		removeAll();
		addComponent(controller.getStartBuchungenController()
				.getGesBuchungPanel());
	}

	public void oeffneNeueLieferung() {
		controller.getTreePanelController().listenerAbmelden();
		controller.getTreePanelController().getTreePanel().clearSelTree();
		controller.getTreePanelController().listenerAnmelden();
		
		removeAll();
		Object[] auswahl = { "Zulieferung", "Auslieferung" };
		String initialisierung = "Lieferungstyp";
		Object Dialog = JOptionPane
				.showInputDialog(
						this,
						"<html>Wollen Sie eine Zulieferung<br> oder eine Auslieferung erstellen?</html>",
						"Lieferung - Schritt 1", JOptionPane.QUESTION_MESSAGE,
						null, auswahl, initialisierung);

		if ((String) Dialog == "Zulieferung") {
			NeueZulieferungPanel neueZulieferung = new NeueZulieferungPanel(
					getSize(), controller, (String) Dialog);
			addComponent(neueZulieferung);
		} else if ((String) Dialog == "Auslieferung") {
			NeueZulieferungPanel neueZulieferung = new NeueZulieferungPanel(
					getSize(), controller, (String) Dialog);
			addComponent(neueZulieferung);
		} else {

			oeffneStartseite();
		}

	}

	public void oeffneStartseite() {
		controller.getTreePanelController().listenerAbmelden();
		controller.getTreePanelController().getTreePanel().clearSelTree();
		controller.getTreePanelController().listenerAnmelden();
		removeAll();
		addComponent(StartMainPanel.getStartseite());
	}

	public void addComponent(Component content) {
		add(content);
		validate();
		repaint();
	}
}
